/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.asportoonline.entities;

import java.io.Serializable;
import javax.persistence.Embeddable;

/**
 * Questa classe non e' un entita'.
 * 
 * @author Luca
 */
@Embeddable
public class Indirizzo implements Serializable {
    private String via;
    private String cap;
    private String citta;
    private double latitudine;
    private double longitudine;

    /**
     * Crea una nuova istanza di Indirizzo.
     */
    public Indirizzo() {}

    /**
     * @return CAP  di residenza.
     */
    public String getCap() {
        return cap;
    }

    /**
     * Imposta il CAP di residenza.
     * 
     * @param cap 
     */
    public void setCap(String cap) {
        this.cap = cap;
    }

    /**
     * @return citta' di residenza.
     */
    public String getCitta() {
        return citta;
    }

    /**
     * Imposta la citta' di residenza.
     * 
     * @param citta 
     */
    public void setCitta(String citta) {
        this.citta = citta;
    }

    /**
     * @return latitudine
     */
    public double getLatitudine() {
        return latitudine;
    }

    /**
     * Imposta la latitudine.
     * 
     * @param latitudine 
     */
    public void setLatitudine(double latitudine) {
        this.latitudine = latitudine;
    }

    /**
     * @return longitudine.
     */
    public double getLongitudine() {
        return longitudine;
    }

    /**
     * Imposta la longitudine.
     * 
     * @param longitudine 
     */
    public void setLongitudine(double longitudine) {
        this.longitudine = longitudine;
    }

    /**
     * @return via di residenza.
     */
    public String getVia() {
        return via;
    }

    /**
     * Imposta la via di residenza.
     * 
     * @param via 
     */
    public void setVia(String via) {
        this.via = via;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Indirizzo other = (Indirizzo) obj;
        if (Double.doubleToLongBits(this.latitudine) != Double.doubleToLongBits(other.latitudine)) {
            return false;
        }
        if (Double.doubleToLongBits(this.longitudine) != Double.doubleToLongBits(other.longitudine)) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 13 * hash + (int) (Double.doubleToLongBits(this.latitudine) ^ (Double.doubleToLongBits(this.latitudine) >>> 32));
        hash = 13 * hash + (int) (Double.doubleToLongBits(this.longitudine) ^ (Double.doubleToLongBits(this.longitudine) >>> 32));
        return hash;
    }

    @Override
    public String toString() {
        return "Indirizzo{" + "via=" + via + ", cap=" + cap + ", citta=" + citta + ", latitudine=" + latitudine + ", longitudine=" + longitudine + '}';
    }
    
    
}
